data-raw/reading in mapping functions.R

library(readxl)

# read in the SOC 2010 to O*NET SOC 2010 crosswalks for the phase 2 file

## ONET to SOC crosswalk
onet2010tosoc2010 <- as.data.table(readxl::read_xls("data/onet oes assembly/O-NET SOC2010 to SOC2010 crosswalk.xls",
                                                    range="A1:D1111")[,c(1,3)])  %>%
  dplyr::rename("occ_code"="SOC 2010 Code",
                "onetsoc2010code"="O*NET-SOC 2010 Code")

onet2010tosoc2010 <- onet2010tosoc2010 %>%
  mutate(id = rep(1,dim(onet2010tosoc2010)[1])) %>%
  group_by(occ_code) %>%
  mutate(dup.SOC2010 = sum(id)) %>%
  ungroup() %>%
  mutate(weight = (100/dup.SOC2010)/100 ) %>%
  select(c("occ_code","onetsoc2010code","weight"))


# read in the O*NET data level occupations
data.level <- as.data.table(readxl::read_xls("data/onet oes assembly/ONET SOC 2010 data level.xls",
                                             range="A1:D975")[,c(1,2)])

data.level$datalevel = TRUE

nondata.level <- as.data.table(readxl::read_xls("data/onet oes assembly/ONET SOC 2010 nondata level.xls",
                                                range="A1:D137")[,c(1,2)])

nondata.level$datalevel = FALSE

data_level <- dplyr::bind_rows(data.level,nondata.level) %>%
  select(c("datalevel","O*NET-SOC 2010 Code")) %>%
  dplyr::rename("onetsoc2010code"="O*NET-SOC 2010 Code",
                "datalevel"="datalevel")

onet_to_oes <- merge(data_level,onet2010tosoc2010,by="onetsoc2010code")
djmorris1989/onetmappinguk documentation built on June 14, 2020, 10:04 a.m.